package com.galen.manual.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Schema(description = "结算单详情")
public class SettlementVO {

    @Schema(description = "结算单ID")
    private Long id;

    @Schema(description = "结算单号")
    private String settlementNumber;

    @Schema(description = "用户ID")
    private Long userId;

    @Schema(description = "用户姓名")
    private String userName;

    @Schema(description = "用户电话")
    private String userPhone;

    @Schema(description = "结算周期开始时间")
    private LocalDateTime settlementPeriodStart;

    @Schema(description = "结算周期结束时间")
    private LocalDateTime settlementPeriodEnd;

    @Schema(description = "任务数量")
    private Integer taskCount;

    @Schema(description = "总数量")
    private Integer totalQuantity;

    @Schema(description = "总金额")
    private BigDecimal totalAmount;

    @Schema(description = "奖励金额")
    private BigDecimal bonusAmount;

    @Schema(description = "扣款金额")
    private BigDecimal penaltyAmount;

    @Schema(description = "实际结算金额")
    private BigDecimal finalAmount;

    @Schema(description = "结算状态")
    private Integer status;

    @Schema(description = "结算状态名称")
    private String statusName;

    @Schema(description = "确认时间")
    private LocalDateTime confirmedTime;

    @Schema(description = "支付时间")
    private LocalDateTime paidTime;

    @Schema(description = "支付方式")
    private String paymentMethod;

    @Schema(description = "支付方式名称")
    private String paymentMethodName;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
}